<?php
/**
 * 获得树状结构
 * @param  [type]  $data  [description]
 * @param  integer $pid   [description]
 * @param  integer $leven [description]
 * @return [type]         [description]
 */
//递归输出  '-' 
function categoryTree($data,$pid=0,$leven=0)
{
	// 设置静态变量数组
	static  $arr =array();
	foreach ($data as $d) {
		// 如果获得的pid 和传入的 $pid 相等的话 执行 if 里面的语句
		if ($d['pid']==$pid) {
		//如果相等执行语句 ：把重复$leven*3次的 '-'  连接 $d['cname'] 赋值给 $d['_cname']
			$d['_cname']= str_repeat('-',$leven*3).$d['cname'];
			// 把获得的$d存储到$arr的数组中
			$arr[]=$d;
			// 执行完成后 回调以下函数重新执行一次递归动作
			categoryTree($data,$d['id'],$leven+1);
		}
	}
	return $arr;
}

// 打印输出$data
function p($data)
{
	echo "<pre>".print_r($data,true);
}

?>vbn  